Part Number Hot Search : 
CMDZ36V S1051 12800 02242 MC140 AP572610 40011 10N60
Product Description
Full Text Search
 

To Download 82C862 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  f ire l ink usb 82C862 dual controller quad port usb preliminary data book confidential 912-2000-030 revision 1.0 ?
copyright copyright ? 1999 opti inc. all rights reserved. no part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language or computer language, in any form or by any means, electronic, mechanical, magnetic, optical, manual, or otherwise, without the prior written permission of opti inc., 1440 mccarthy blvd. milpitas, ca 95035. disclaimer opti inc. makes no representations or warranties with respect to the design and documentation herein described and especially disclaims any implied warranties of merchantability or fitness for any particular purpose. further, opti inc. reserves the right to revise the design and associated documentation and to make changes from time to time in the content without obligation of opti inc. to notify any person of such revisions or changes. trademarks opti and opti inc. are registered trademarks of opti inc. all other trademarks and copyrights are the property of their respective holders. opti inc. 1440 mccarthy blvd. milpitas, ca 95035 tel: (408) 486-8000 fax: (408) 486-8001 www: http://www.opti.com
firelink usb 82C862 912-2000-030 page i revision: 1.0 ? t able of c ontents 1.0 features ................................ ................................ ................................ ................................ ................................ ...... 1 2.0 overview ................................ ................................ ................................ ................................ ................................ ...... 1 3.0 signal definitio ns ................................ ................................ ................................ ................................ .................... 3 3.1.1 terminology/nomenclature conventions ................................ ................................ ................................ .............. 3 3.2 n umerical p in c ross -r eference l ist ................................ ................................ ................................ ......................... 5 3.3 s ignal d escriptions ................................ ................................ ................................ ................................ .................... 6 3.3.1 clock and reset interface signals ................................ ................................ ................................ ....................... 6 3.3.2 pci bus interface signals ................................ ................................ ................................ ................................ ..... 6 3.3.3 usb interface signals ................................ ................................ ................................ ................................ .......... 8 3.3.4 host controller shared signals: pme#, smi#, req#, gnt# ................................ ................................ ................ 9 3.3.5 legacy and interrupt interface signals ................................ ................................ ................................ ................. 9 3.3.6 power and ground pins ................................ ................................ ................................ ................................ ..... 10 3.3.7 strap options ................................ ................................ ................................ ................................ ..................... 11 4.0 functional descr iption ................................ ................................ ................................ ................................ ....... 13 4.1 u niversal s erial b us (usb) ................................ ................................ ................................ ................................ ...... 13 4.2 pci c ontroller ................................ ................................ ................................ ................................ ......................... 14 4.3 c lock g eneration ................................ ................................ ................................ ................................ ..................... 15 4.4 p ower m anagement f eatures ................................ ................................ ................................ ................................ ... 15 4.4.1 putting firelink into usbsuspend state ................................ ................................ ................................ ............ 15 4.4.2 powering down the usb i/o cells ................................ ................................ ................................ ..................... 15 4.4.3 stopping the 48mhz usb clock ................................ ................................ ................................ ......................... 15 4.4.4 using clkrun# ................................ ................................ ................................ ................................ ................ 15 4.4.5 stopping the internal pci clocks ................................ ................................ ................................ ........................ 16 4.4.6 power control modes ................................ ................................ ................................ ................................ ......... 16 4.5 h ost c ontroller ................................ ................................ ................................ ................................ ....................... 19 4.5.1 legacy support ................................ ................................ ................................ ................................ .................. 20 4.5.2 intercept port 60h and 64h accesses ................................ ................................ ................................ ................. 20 4.6 g eneral p urpose p ins ................................ ................................ ................................ ................................ ............... 21 5.0 register descrip tions ................................ ................................ ................................ ................................ ......... 23 5.1 pcicfg r egister s pace ................................ ................................ ................................ ................................ ........... 23 5.1.1 programming differences from 82c861 component ................................ ................................ .......................... 23 5.1.2 pcicfg 00h-ffh ................................ ................................ ................................ ................................ ............... 24 5.2 h ost c ontroller r egister s pace ................................ ................................ ................................ ............................ 29 5.2.1 memofst 00h-5ch ................................ ................................ ................................ ................................ ........... 29 5.2.2 legacy support registers ................................ ................................ ................................ ................................ .. 39 5.2.3 memofst 100h-1fh (legacy suppor t registers) ................................ ................................ ............................. 39 6.0 electrical ratin gs ................................ ................................ ................................ ................................ ................ 41 6.1 a bsolute m aximum r atings ................................ ................................ ................................ ................................ ....... 41 6.2 dc c haracteristics : ................................ ................................ ................................ ................................ ................. 41 6.3 ac c haracteristics (p reliminary ) ................................ ................................ ................................ ............................ 42 6.3.1 pci bus ac timings ................................ ................................ ................................ ................................ ........... 42 6.3.2 usb ac timings: full speed source ................................ ................................ ................................ ................. 43 6.3.3 usb ac timings: low speed source ................................ ................................ ................................ ................ 44 7.0 mechanical pac kage outlines ................................ ................................ ................................ ......................... 46 8.0 nand tree test mode ................................ ................................ ................................ ................................ ............. 47
firelink usb 82C862 912-2000-030 revision: 1.0 page ii ?
firelink usb 82C862 912-2000-030 page 1 revision: 1.0 ? 1.0 features ? compliant with usb rev. 1.1 specification ? fully compatible with usb ohci specification ? two independent host controllers, two ports each, making firelink usb a multi-function pci device ? second host controller can be disabled if not used ? clock input can be derived from either a 12mhz crystal or a 48mhz oscillator ? clocks can be turned off when not in use to save power ? core operates at 3.3v; pci inputs are 5v-tolerant ? incorporates pci power management, supporting very low power standby modes ? implements clkrun# pin to support hardware- enforced power-down ? packaged as 100-pin lqfp (low-profile quad flat pack) ? supported by windows 98, windows 2000, and windows ce 2.0 overview this document describes the opti firelink usb (82C862) controller. this pci-to-usb bridge is unique in that it consists of two independent dual-port controllers, each sharing only the common pci bus connection. this arrangement allows for a total universal serial bus bandwidth of 24mb/s, divided into 12mb/s for each pair of ports. figure 1 provides a block diagram of the overall functionality of the chip. figure 1. 82C862 firelink usb block diagram port 2 12mhz xtal usb controller module 1 firelink firelink usb 82C862 pci interface 48mhz clock generation central arbiter usb config regs function 0 usb controller module 2 usb config regs function 1 port 1 port 4 port 3 req#, gnt#
firelink usb 82C862 912-2000-030 revision: 1.0 page 2 ?
firelink usb 82C862 912-2000-030 page 3 revision: 1.0 ? 3.0 signal definitions 3.1 terminology/nomenclature conventions the "#" symbol at the end of a signal name indicates that the active, or asserted state occurs when the signal is at a low voltage level. when "#" is not present after the signal name, the signal is asserted when at the high voltage level. the terms assertion and negation are used extensively. this is done to avoid confusion when working with a mixture of active low and active high signals. the term assert, or assertion indicates that a signal is active, independent of whether that level is represented by a high or low voltage. the term negate, or negation indicates that a signal is inactive. the tables in this section use several common abbreviations. table 1 lists the mnemonics and their meanings. note that ttl/cmos/ schmitt-trigger levels pertain to inputs only. outputs are driven at cmos levels. table 1. signal definitions legend mnemonic description analog analog-level compatible cmos cmos-level compatible dcdr decoder diff differential signal pair ext external g ground i input int internal i/o input/output mux multiplexer nic no internal connection o output od open drain p power pd pull-down resistor pu pull-up resistor s schmitt-trigger s/t/s sustain tristate ttl ttl-level compatible
firelink usb 82C862 912-2000-030 revision: 1.0 page 4 ? figure 2. lqfp pin diagram (note) note: figure 3-1 shows a pin diagram of the 82C862 packaged in an lqfp (low-profile quad flat pack, square). refer to section 6.0, "mechanical package outlines" for details regarding packaging. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 ad3 ad4 intb# smi# gnd ad5 ad6 ad7 vcc pwrflt4# pwron4# c/be0# ad8 ad9 ad10 gnd ad11 ad12 ad13 vcc gnd ad14 ad15 c/be1# par dvcc_usb avcc_usb d4- d4+ d3- d3+ agnd_usb dgnd_usb pciclk gnt# req# ad31 ad30 ad29 gnd vcc ad28 ad27 ad26 ad25 clkrun# gnd ad24 c/be3# idsel inta# ad2 ad1 ad0 gnd x1/clk48 vcc x2 agnd_pll avcc_pll dgnd_usb agnd_usb d1+ d1- d2+ d2- avcc_usb dvcc_usb reset# gnd test0 vcc pwrflt2# pwron2# test1 serr# pwrflt3# pwron3# pme# perr# stop# devsel# trdy# irdy# gnd vcc frame# c/be2# ad16 ad17 vcc gnd ad18 ad19 ad20 ad21 pwrflt1# pwron1# ad22 ad23 firelink usb 82C862
firelink usb 82C862 912-2000-030 revision 1.0 page 5 ? 3.2 numerical pin cross-reference list pin no. signal name power plane 1 inta# vcc 2 ad2 3 ad1 4 ad0 5 gnd 6 x1/clk48 7 vcc 8 x2 9 agnd_pll avcc_pll 10 avcc_pll 11 dgnd_usb dvcc_usb 12 agnd_usb avcc_usb 13 d1+ 14 d1- 15 d2+ 16 d2- 17 avcc_usb 18 dvcc_usb dvcc_usb 19 reset# vcc 20 gnd 21 test0 22 vcc 23 pwrflt2 24 pwron2 25 test1 26 dvcc_usb dvcc_usb 27 avcc_usb avcc_usb 28 d4- 29 d4+ 30 d3- 31 d3+ 32 agnd_usb 33 dgnd_usb dvcc_usb 34 pciclk vcc pin no. signal name power plane 35 gnt# vcc 36 req# 37 ad31 38 ad30 39 ad29 40 gnd 41 vcc 42 ad28 43 ad27 44 ad26 45 ad25 46 clkrun# 47 gnd 48 ad24 49 c/be3# 50 idsel 51 ad23 52 ad22 53 pwron1# 54 pwrflt1# 55 ad21 56 ad20 57 ad19 58 ad18 59 gnd 60 vcc 61 ad17 62 ad16 63 c/be2# 64 frame# 65 vcc 66 gnd 67 irdy# 68 trdy# pin no. signal name power plane 69 devsel# vcc 70 stop# 71 perr# 72 pme# 73 pwron3# 74 pwrflt3# 75 serr# 76 par 77 c/be1# 78 ad15 79 ad14 80 gnd 81 vcc 82 ad13 83 ad12 84 ad11 85 gnd 86 ad10 87 ad9 88 ad8 89 c/be0# 90 pwron4# 91 pwrflt4# 92 vcc 93 ad7 94 ad6 95 ad5 96 gnd 97 smi# 98 intb# 99 ad4 100 ad3
firelink usb 82C862 912-2000-030 revision: 1.0 page 6 ? 3.3 signal descriptions 3.3.1 clock and reset interface signals signal name pin no. pin type signal description pciclk 34 i pci clock: this input provides timing for all cycles on the host pci bus; normally 33mhz. all other pci signals are sampled on the rising edge of pclk (timing parameters refer to this edge). x1/clk48 x2 6 8 i o usb clock: the clk48 input provides timing for usb data signals; this clock must be 48mhz for proper usb operation. as an option, a 12mhz crystal can be connected across x1 and x2, in which case an internal pll will develop the 48mhz signal. refer to the test0-test1 strap options for selecting the mode of operation. reset# 19 o reset: if reset# is asserted for a minimum of 1s while pciclk is stable at 33mhz, it causes the 82C862 to enter its default state (all registers are set to their default values). ad[31:0], c/be[3:0]#, and par are always driven low by the 82C862 synchronously from the leading edge of reset# and are always tristated from the trailing edge of reset#. frame#, irdy#, trdy#, stop#, and devsel# are tristated from the leading edge of reset# and remain so until driven as either a master or slave by the 82C862. reset# may be asynchronous to pciclk when asserted or negated, however, negation must occur with a clean, bounce-free edge. 3.3.2 pci bus interface signals signal name pin no. pin type signal description ad[31:0] 37:39, 42:45, 49, 51, 55:58, 61:62, 78:79, 82:84, 86:88, 93:95, 99:100, 2:1 i/o address and data lines 31 through 0: this bus carries the address and/or data during a pci bus cycle. a pci bus cycle has two phases - an address phase which is followed by one or more data phases. during the initial clock of the bus cycle, the ad bus contains a 32-bit physical byte address. ad[7:0] is the least significant byte (lsb) and ad[31:24] is the most significant byte (mbs). after the first clock of the cycle, the ad bus contains data. when the 82C862 is the target, ad[31:0] are inputs during the address phase. for the data phase(s) that follow, the 82C862 may supply data on ad[31:0] in the case of a read or accept data in the case of a write. when the 82C862 is the master, it drives a valid address on ad[31:2] during the address phase, and drives write or accepts read data on ad[31:0] during the data phase. as a master, the 82C862 always drives ad[1:0] low. c/be[3:0]# 49, 63, 77, 89 i/o bus command and byte enables 3 through 0: these signals provide the command type information during the address phase and carry the byte enable information during the data phase. c/be0# corresponds to byte 0, c/be1# to byte 1, c/be2# to byte 2, and c/be3# to byte 3. if the 82C862 is the initiator of a pci bus cycle, it drives c/be[3:0]#. when it is the target, it samples c/be[3:0]#.
firelink usb 82C862 912-2000-030 revision 1.0 page 7 ? par 76 o even parity: the 82C862 calculates par for both the address and data phases of pci cycles. par is valid one pci clock after the associated address or data phase, but may or may not be valid for subsequent clocks. it is calculated based on 36 bits - ad[31:0] plus c/be[3:0]#. "even" parity means that the sum of the 36 bit values plus par is always an even number, even if one or more bits of c/be[3:0]# indicate invalid data. frame# 64 i/o (s/t/s) cycle frame: this signal is driven by the current pci bus master to indicate the beginning and duration of an access. the master asserts frame# at the beginning of a bus cycle, sustains the assertion during data transfers, and then negates frame# in the final data phase. frame# is an input when the 82C862 is the target and an output when it is the initiator. frame# is tristated from the leading edge of reset# and remains tristated until driven as either a master or slave by the 82C862. irdy# 67 i/o (s/t/s) initiator ready: irdy#, along with trdy#, indicates whether the 82C862 is able to complete the current data phase of the cycle. irdy# and trdy# are both asserted when a data phase is completed. during a write, the 82C862 asserts irdy# to indicate that it has valid data on ad[31:0]. during a read, the 82C862 asserts irdy# to indicate that it is prepared to accept data. irdy# is an input when the 82C862 is a target and an output when it is the initiator. irdy# is tristated from the leading edge of reset# and remains tristated until driven as either a master or a slave by the 82C862. trdy# 68 i/o (s/t/s) target ready: trdy#, along with irdy#, indicates whether the 82C862 is able to complete the current data phase of the cycle. trdy# and irdy# are both asserted when a data phase is completed. when the 82C862 is acting as the target during read and write cycles, it performs in the following manner: 1. during a read, the 82C862 asserts trdy# to indicate that it has placed valid data on ad[31:0]. 2. during a write, the 82C862 asserts trdy# to indicate that is prepared to accept data. trdy# is an input when the 82C862 is the initiator and an output when it is the target. trdy# is tristated from the leading edge of reset# and remains so until driven as either a master or a slave by the 82C862. stop# 70 i/o (s/t/s) stop: stop# is an output when the 82C862 is the target and an input when it is the initiator. as the target, the 82C862 asserts stop# to request that the master stop the current cycle. as the master, the assertion of stop# by a target forces the 82C862 to stop the current cycle. stop# is tristated from the leading edge of reset# and remains so until driven by the 82C862 acting as a slave.
firelink usb 82C862 912-2000-030 revision: 1.0 page 8 ? devsel# 69 i/o (s/t/s) device select: the 82C862 claims a pci cycle via positive decoding by asserting devsel#. as an output, the 82C862 drives devsel# for two different reasons: 1. if the 82C862 samples idsel active in configuration cycles, devsel# is asserted. 2. when the 82C862 decodes an internal address or when it subtractively decodes a cycle, devsel# is asserted when devsel# is an input, it indicates the target response to an 82C862 master-initiated cycle. devsel# is tristated from the leading edge of reset# and remains so until driven by the 82C862 acting as a slave. idsel 50 i initialization device select: this signal is the "chip select" during configuration read and write cycles. idsel is sampled by the 82C862 during the address phase of a cycle. if idsel is found to be active and the bus command is a configuration read or write, the 82C862 claims the cycle with devsel#. perr# 71 i/o parity error: the 82C862 uses this line to report data parity errors during any pci cycle except a special cycle. serr# 75 i system error: the 82C862 uses this line to report address parity errors and data parity errors on the special cycle command, or any other system error where the result will be catastrophic. req# 36 o bus request: req# is asserted by the 82C862 to request ownership of the pci bus. gnt# 35 i bus grant: gnt# is sampled by the 82C862 for an active low assertion, which indicates that it has been granted use of the pci bus. clkrun# 46 i/o clock run: the clkrun# function is available on this pin and can be used to reduce chip power consumption during idle periods. it is an i/o sustained tristate signal and follows the pci 2.1 defined protocol. gpio2 general purpose i/o pin 2: these pins can be written or read by specific application software. refer to pcicfg 53-55h for information. 3.3.3 usb interface signals signal name pin no. pin type signal description d1+/d1- 13/14 diff usb port 1 differential data pair: this pair comes from the first controller. d2+/d2- 15/16 diff usb port 2 differential data pair: this pair comes from the first controller. d3+/d3- 28/29 diff usb port 3 differential data pair: this pair comes from the second controller. d4+/d4- 30/31 diff usb port 4 differential data pair: this pair comes from the second controller. pwron1# pwron2# pwron3# pwron4# 53 24 73 90 o power on lines 1, 2, 3 and 4: these outputs are used to switch port vcc for the respective usb port. the controlled vcc is used only by the device connected to the port, and is not used by the 82C862 controller. pwrflt1# pwrflt2# pwrflt3# pwrflt4# 54 23 74 91 i power fault lines 1, 2, 3 and 4: these inputs indicate that an over-current fault has occurred on the respective usb port. their polarity can be both strap- and software-controlled: refer to the strap options section for details.
firelink usb 82C862 912-2000-030 revision 1.0 page 9 ? 3.3.4 host controller shared signals: pme#, smi#, req#, gnt# several other signals are shared by both host controllers in addition to the bused pci signals. the shared signals are all active low. the diagram below best explains the internal connections of the 82C862 device. 3.3.5 legacy and interrupt interface signals signal name pin no. pin type signal description smi# 97 o system management interrupt: this signal is used to request a system management mode (smm) interrupt. it can be connected to a spare epmi pin on the host chipset. gpio4 general purpose i/o pin 4: these pins can be written or read by specific application software. refer to pcicfg 53-55h for information. pme# 72 special power management event: this signal is used to wake up the system from a pci power management (pci/pm) power saving mode. this pin is normally tri- stated and is driven low when active. note: when unpowered, the pme# driver output circuit will not be damaged if pme# is powered from another source. moreover, once power is removed from the chip, this pin does not present a current path to ground. gpio3 general purpose i/o pin 3: these pins can be written or read by specific application software. refer to pcicfg 53-55h for information. inta# 1 o pci interrupt a: this signal can be connected to a pci interrupt line. test0 21 i/o test pin 0: this pin is sampled by the chip at reset time to put the logic into a test mode if needed. see the strap options section for details. gpio0 general purpose i/o pin 0: these pins can be written or read by specific application software. refer to pcicfg 53-55h for information. test1 25 i/o test pin 1: this pin is sampled by the chip at reset time to put the logic into a test mode if needed. see the strap options section for details. gpio1 general purpose i/o pin 1: these pins can be written or read by specific application software. refer to pcicfg 53-55h for information. smi2# internal arbiter pme# smi # req# gnt# req1# smi1# firelink usb pme1# gnt1# usb host1 pme2# gnt2# usb host2 req2#
firelink usb 82C862 912-2000-030 revision: 1.0 page 10 ? 3.3.6 power and ground pins signal name pin no. pin type signal description vcc 7, 22, 41, 60, 65, 81, 92, p 3.3v power connection: core voltage is always 3.3v. however, the pci interface can be 5v as the pci inputs are 5v-tolerant. avcc_pll 10 p pll analog power: connect to low-noise 3.3v. avcc_usb 17, 27 p usb i/o analog power: connect to low-noise 3.3v. dvcc_usb 18, 26 p usb i/o digital power: connect to 3.3v. gnd 20,40,47, 59,66,80, 85,96 g core digital ground: connect to board ground. agnd_pll 9 g pll analog ground: connect to same board ground as gnd. agnd_usb 12, 32 g usb i/o analog ground: connect to same board ground as gnd. dgnd_usb 11, 33 g usb i/o digital ground: connect to same board ground as gnd.
firelink usb 82C862 912-2000-030 revision 1.0 page 11 ? 3.3.7 strap options the 82C862 component offers several operating mode choices at power-up time. these choices are selected through a strap resistor that pulls the related pin either up or down to the required level. a 4.7k ohm resistor is recommended. table 2. strap selected options pin mode pwron3# enable/disable second host 1 enable second usb host controller (function 1) [default] 0 disable second usb host controller. all clocks going to the logic for the second host are stopped to reduce power consumption. test0 test1 mode operation 0 0 pll operational mode using 12 mhz crystal on x1 and x2 [default] 0 1 48 mhz clock operation mode. x1 connects to 48 mhz clock, x2 no-connect. 1 1 nand tree test mode 1 0 tristate test mode smi# pci power management pme# function / reference usb clock 0 pme# becomes 48 mhz reference clock output from pll. used for testing pll. also disables pci power management, pcicfg 06h[4] = 0. 1 enables pme# function and pci power management, pcicfg 06h[4]=1. [default] pwron2# global/individual power control 1 individual pwron# and pwrflt# for each port: [default] hcrhdesca nopowerswitching=0 (memofst 49h[1]) hcrhdesca powerswitchingmode=1 (memofst 49h[0]) hcrhdescb portpowercontrolmask bit1,bit2=1,1 (memofst4eh[1,2]) hcrhdesca noovercurrentprotection=0 (memofst 49h[4]) hcrhdesca overcurrentprotectionmode=1 (memofst 49h[3]]) 0 global pwron# and pwrflt# for each port: hcrhdesca nopowerswitching=0 (memofst 49h[1]) hcrhdesca powerswitchingmode=0 (memofst 49h[0]) hcrhdescb portpowercontrolmask bit1,bit2=0,0 (memofst4eh[1,2]) hcrhdesca noovercurrentprotection=0 (memofst 49h[4]) hcrhdesca overcurrentprotectionmode=0 (memofst 49h[3]])
firelink usb 82C862 912-2000-030 revision: 1.0 page 12 ?
firelink usb 82C862 912-2000-030 page 13 revision: 1.0 ? 4.0 functional description 4.1 universal serial bus (usb) the 82C862 controller supports a pci-based implementation of universal serial bus utilizing the openhci core developed by compaq. the logic core consists of two usb host controller modules (making the 82C862 part a multi-function pci device), and a pci interface controller. each usb host controller module contains an integrated root hub that supports two downstream usb hubs or devices. keyboard and mouse legacy support are also included for dos compatibility with usb devices. this legacy support operates in conjunction with the primary host controller module as described later in this document. this document must be used along with the following public domain reference documents to get the complete functional description of the usb core implementation. usb specification, revision 1.1 openhci specification, revision 1.0a pci specification, version 2.1 a functional block diagram of one of the two usb controller modules is given in figure 4-1. the other is identical. figure 4-1 usb functional block diagram pci interface pci master pci slave pci i/o pci config kbd legacy frame management global operation s root hub control list processor bus master clock gen usb sie data buffer engine core clock control logic i2c interface port 1 port 2 sodimm serial rom usb 1 usb 2 clkrun# i2cclk i2cdata pci bus pwrgd1 pwrflt1 pwron1 vd1+ vd1- pwrgd2 pwrflt2 pwron2 vd2+ vd2-
firelink usb 82C862 912-2000-030 revision: 1.0 page 14 ? 4.2 pci controller the pci controller interfaces the host controller to the pci bus. as a master, the pci controller is responsible for running cycles on the pci bus on behalf of the host controller. as a target, the pci controller monitors the cycles on the pci bus and determines when to respond to these cycles. a usb host controller module is a pci target when it decodes cycles to its internal pci configuration registers or to its internal pci memory mapped i/o registers. the pci controller asserts devsel# in medium decode timing to claim a pci transaction. since two pci-interfaced usb controller modules reside on-chip, the logic includes an internal arbiter to select between the two modules when one or both make a bus mastering request. the pci configuration space of the primary usb host controller module is accessed as device #x, function #0, where device #x depends on which ad line is connected to the idsel input. for the secondary usb host controller module, pci configuration register space is accessed as function #1 instead. pci configuration space is hereafter referred to as pcicfg. table 3 gives a register map of the pcicfg register space (duplicated for each of the two functions). refer to section 5.1, "pcicfg register space" for detailed bit information. table 3. pci controller register map pcicfg r/w register name 00h-01h ro vendor id 02h-03h ro device id 04h-05h r/w command 06h-07h r/w status 08h ro revision id 09h-0bh ro class code 0ch r/w cache line size 0dh r/w master latency timer 0eh ro header type 0fh -- reserved 10h-13h r/w base address register 0 14h-2bh -- reserved 2ch-2dh ro subsystem vendor 2eh-2fh ro subsystem id 30h-3bh -- reserved 3ch r/w interrupt line 3dh r/w interrupt pin 3eh r/w minimum grant pcicfg r/w register name 3fh r/w maximum latency 40h-45h -- reserved for factory test 46h-4bh -- reserved 4ch r/w interrupt pin selection 4dh r/w miscellaneous control 4eh-4fh -- reserved 50h r/w pci host feature control 51h -- reserved 52h r/w strap option override 53h r/w gpio select 54h r/w gpio output enable 55h r/w gpio data 56h-7bh -- reserved 7ch-7fh r/w subsystem id restore 80h-efh -- reserved f0h-f5h r/w pci power management f6h-ffh -- reserved
firelink usb 82C862 912-2000-030 revision 1.0 page 15 ? 4.3 clock generation the usb core requires an accurate 48mhz internal clock for proper operation. this clock can be obtained either by connecting an external 48mhz oscillator, or by connecting a 12mhz crystal. to use the external 48mhz clock, connect the clock source to the x1 pin and strap test1 high. the x2 pin is not used in this configuration and must be left floating. this clock must be accurate to +/- 0.2%, or 2000ppm. to use a 12mhz crystal, connect it to the x1 and x2 pins and strap test1 low. an internal pll develops the required 48mhz clock. this pll can be powered down when not in use through the pci power management registers. since the 12mhz clock generated is used to develop 48mhz internally, its accuracy must be within +/- 0.05%, or 500ppm. 4.4 power management features firelink usb 82C862 implements new power management features which can reduce the overall power consumed in mobile usb applications. key features are as follows. the os can put each usb controller module individually into usbsuspend state. once in usbsuspend state, the bios can turn off the usb i/o cells on each port for further power savings. the external pci clock can be stopped if system hardware is designed to use the clkrun# pin from the 82C862 chip, which can also be used to awaken the system. the external 48mhz usb clock can also be stopped along with the pciclk when the system will be put into a standby mode. usb clocks to each of the internal modules can be stopped independently through the pci power management registers. each of these features is described in the sections below. 4.4.1 putting firelink into usbsuspend state before a host system goes into a suspend state, the operating system should put the ohci usb controller into usbsuspend mode by writing to register memofst 04h[7:6] = 11. 4.4.2 powering down the usb i/o cells once in usbsuspend state, the usb i/o cells can be disabled to reduce power by setting pcicfg 50h[1:0] = 11. if this feature is used, the i/o cells should be disabled by the bios before going into system-level suspend, and re-enabled by the bios before giving control back to the operating system. 4.4.3 stopping the 48mhz usb clock after the controller is put into usbsuspend state, still another step can be taken to further reduce power consumption: stop the 48mhz usb clock. if this route is taken, the usb clock must be stopped and started in a glitch free manner. the usual means of effecting this control would be through software control of the system clock generator circuit. once the usb clock is stopped, the system can be awakened by using pme#, which will be asserted on a usb wake up event (resume signalling, connect, disconnect). this system event should be designed to restart the 48mhz clock to the usb controller. 4.4.4 using clkrun# the clkrun# pin is always operational in the 82C862 part; no enabling is required. the pci mobile design guide, available from the pcisig, describes the operation of clkrun# in detail. briefly, connected devices monitor this pin to see if it goes high, indicating that the host wants to stop the system pciclks. if the line goes high, connected devices are allowed to momentarily drive the pin low. the host will then take over driving this pin low until it wants to try again to stop the clocks. the host system uses clkrun# to determine whether or not the 82C862 usb controller requires a pci clock by releasing clkrun#, which is always pulled high with a resistor. the usb controller power management logic will drive this pin low again as required by the clkrun# specification if the controller is using the clock, i.e. whenever a usb device is attached. if the controller does not drive the clock low, the system is free to slow or stop the pci clock.
firelink usb 82C862 912-2000-030 revision: 1.0 page 16 ? 4.4.5 stopping the internal usb clocks the 82C862 device is equipped with pci power management registers. when either function is set to d3hot mode, its internal usb clock is switched off to effect a significant reduction in power consumption. returning the system to d0 will restart the internal usb clock. 4.4.6 power control modes the 82C862 pinout includes the following signals for controlling and monitoring usb power for the respective usb port: ? pwron1-4# are active-low outputs to turn usb power on. ? pwrflt1-4# are active-low inputs to detect over current. at design time, it must be decided whether these control and monitoring signals will be used independently on a per-port basis (ideal situation), or paired together (for lower component cost). consequently, the chip can strap into one of two power control modes: ? individual pwron# and pwrflt# - entered when pwron2# is sensed high at reset ? global pwron# and pwrflt# - entered when pwron2# is sensed low at reset. the 82C862 part supports two modes for turning on power to the respective usb ports: global and individual (per-port). this logic is contained in the root hub partition of each usb controller module, and consists of a portion for the root hub itself as well as portions for each individual port. the operation of global and individual power switching is explained below. global power switching is the mode that is supported in the original 82c861 design. in this mode either pwron1# or pwron2# can be used to turn on power for both ports on usb host 1, and either pwron3# or pwron4# can be used to turn on power for both ports usb host 2. when supporting this mode the following registers are of significance: register field value or function hcrhdescriptora nopowerswitching memofst 49h[1] 0: ports are power switched hcrhdescriptora powerswitchingmode memofst 49h[0] 0: all ports are powered at the same time hcrhdescriptorb portpowercontrolmask memofst 4eh[2:1] not used hcrhstatus clearglobalpower (write) memofst 50h[0] this bit is written to ?1? to turn off power to all ports. hcrhstatus setglobalpower (write) memofst 52h[0] this bit is written to ?1? to turn on power to all ports. hcrhport1status hcrhport2status portpowerstatus (read) memofst 55h[0] port 1 memofst 59h[0] port 2 0=port power is off 1=port power is on only set/clearglobalpower controls this bit
firelink usb 82C862 912-2000-030 revision 1.0 page 17 ? individual power switching is the mode in which the power to the usb ports can be controlled individually by using the port status registers for each port, or can also be controlled globally depending on the value in the powercontrolmask register. when strapping into this mode, the powercontrolmask registers will be set. all four signals, pwron1#, pwron2#, pwron3#, and pwron4# will be used to turn on the respective usb ports power and will be independently controlled. when supporting this mode the following registers are of significance: register field value or function hcrhdescriptora nopowerswitching memofst 49h[1] 0: ports are power switched hcrhdescriptora powerswitchingmode memofst 49h[0] 1: each port is powered individually. this mode allows the port to be either global or individual controlled depending on value in portpowercontrolmask. hcrhdescriptorb portpowercontrolmask memofst 4eh[2:1] this register determines if the ports power is controlled individually by the port status register, or globally by the root hub status register. 0=port uses global set/clearglobalpower 1=port uses per-port set/clearportpower hcrhstatus clearglobalpower (write) memofst 50h[0] this bit is written to ?1? to turn off power to ports whose portpowercontrolmask=0. hcrhstatus setglobalpower (write) memofst 52h[0] this bit is written to ?1? to turn on power to ports whose portpowercontrolmask=0. hcrhport1status hcrhport2status portpowerstatus (read) memofst 55h[0] port 1 memofst 59h[0] port 2 0=port power is off 1=port power is on if per-port switching is enabled for this port, then only set/clearportpower affect this bit. if global mode is enabled, then set/clearglobalpower control this bit. hcrhport1status hcrhport2status setportpower (write) memofst 55h[0] port 1 memofst 59h[0] port 2 1: sets portpowerstatus only valid if port is enabled for per-port switching. hcrhport1status hcrhport2status clearportpower (write) memofst 55h[1] port 1 memofst 59h[1] port 2 1: clear portpowerstatus only valid if port is enabled for per-port switching.
firelink usb 82C862 912-2000-030 revision: 1.0 page 18 ? the 82C862 logic also supports both global and per-port overcurrent detection as follows. global overcurrent mode ? either pwrflt1# or pwrflt2# can be used to detect an overcurrent condition on any port on usb host 1, and either pwrflt3# or pwrflt4# can be used to detect an overcurrent condition on any port on usb host 2. for example, if pwrflt1# is asserted, it means an overcurrent condition exists on usb host 1, resulting in power shutoff for both ports on usb host 1, and setting of the appropriate global overcurrent indicator bits. register field value or function hcrhdescriptora noovercurrentprotection memofst 49h[4] 0: over-current status is reported hcrhdescriptora overcurrentprotectionmode memofst 49h[3] 0: global - over-current reported collectively for all ports hcrhstatus overcurrentindicator memofst 50h[1] 1: global over-current exists 0: power operations normal hcrhstatus overcurrentindicatorchange memofst 52h[1] set by hardware when overcurrentindicator bit changes. write a ?1? to clear this bit. hcrhport1status hcrhport2status portovercurrentindicator memofst 54h[3] port 1 memofst 58h[3] port 2 not used, set to ?0? for global over- current. hcrhport1status hcrhport2status portovercurrentindicatorchange memofst 56h[3] port 1 memofst 5ah[3] port 2 not used, set to ?0? for global over- current. per-port overcurrent mode ? pwrflt1 #, pwrflt2#, pwrflt3#, and pwrflt4# are all used to monitor each port individually. if an overcurrent condition exists on one port, power is only shut off to that port. register field value or function hcrhdescriptora noovercurrentprotection memofst 49h[4] 0: over-current status is reported hcrhdescriptora overcurrentprotectionmode memofst 49h[3] 1: over-current is reported on a per- port basis hcrhstatus overcurrentindicator memofst 50h[1] not used, always ?0? for per-port over-current mode. hcrhstatus overcurrentindicatorchange memofst 52h[1] not used, always ?0? for per-port over-current mode. hcrhport1status hcrhport2status portovercurrentindicator memofst 54h[3] port 1 memofst 58h[3] port 2 0: no over-current condition 1: over-current condition exists hcrhport1status hcrhport2status portovercurrentindicatorchange memofst 56h[3] port 1 memofst 5ah[3] port 2 set by hardware when portovercurrentindicator bit changes. write a ?1? to clear this bit.
firelink usb 82C862 912-2000-030 revision 1.0 page 19 ? 4.5 host controller this block is the operational control block in the usb core. it is responsible for the host controller operational states (suspend, disabled, enabled), special usb signaling (reset, resume), status, interrupt control, and host controller configuration information. the host controller (hc) interface registers are pci memory mapped i/o, hereafter referred to as memofst. table 4-2 gives a register map for the memofst register space. refer to section 5.2, "host controller register space" for detailed bit information. table 4. host controller register map memofst r/w register name 00h-03h ro hcrevision 04h-07h r/w hccontrol 08h-0bh r/w hccommandstatus 0ch-0fh r/w hcinterruptstatus 10h-13h r/w hcinterrupt enable 14h-17h r/w hcinterrupt disable 18h-1bh r/w hchcca 1ch-1fh r/w hcperiodcurrented 20h-23h r/w hccontrolheaded 24h-27h r/w hccontrolcurrented 28h-2bh r/w hcbulkheaded 2ch-2fh r/w hcbulkcurrented 30h-33h r/w hcdonehead 34h-37h r/w hcfminterval 38h-3bh r/w hcframeremaining 3ch-3fh r/w hcfmnumber 40h-43h r/w hcperiodicstart 44h-47h r/w hclsthreshold 48h-4bh r/w hcrhdescriptora 4ch-4fh r/w hcrhdescriptorb 50h-53h r/w hcrhstatus 54h-57h r/w hcrhport1status 58h-5bh r/w hcrhport2status
firelink usb 82C862 912-2000-030 revision: 1.0 page 20 ? 4.5.1 legacy support four registers are provided for legacy support: 1. hcecontrol - - used to enable and control the emulation hardware and report various status information. 2. hceinput - - emulation side of the legacy input buffer register. 3. hceoutput - - emulation side of the legacy output buffer register where keyboard an d mouse data is to be written by software. 4. hcestatus - - emulation side of the legacy status register. these registers are located in the host controller register space ; from memofst 100h through 10fh. table 4-3 shows a register map of these registers. refer to section 5.2.2, "legacy support registers" for detailed bit information. table 5. legacy support register map memofst r/w register name 100h-103h r/w hcecontrol 104h-107h r/w hceinput 108h-10bh r/w hceoutput 10ch-10fh r/w hcestatus 4.5.2 intercept port 60h and 64h accesses the hcestatus, hceinput, and hceoutput registers are accessible at i/o ports 60h and 64h when emulation is enabled. reads and writes to these registers using the i/o ports do have some side effects as shown in table 4-4. however, accessing these registers directly through their memory address produces no side effects. when emulation is enabled, i/o accesses of ports 60h and 64h must be handled by the host controller (hc). the hc must be positioned in the system so that it can do a positive decode of accesses to ports 60h and 64h on the pci bus. if a keyboard controller is present in the system, it must either use subtractive decode or have provisions to disable its decode of ports 60h and 64h. if the legacy keyboard controller uses positive decode and is turned off during emulation, it must be possible for the emulation code to quickly re-enable and disable the legacy keyboard controller port 60h and 64h decode. this is necessary to support a mixed operating environment. table 6. emulated registers and side effects register contents accessed/modified side effect hceoutput ? a read from port 60h will set the output full bit (memofst 10ch[0]) to 0. hceinput ? a write to port 60h will set the input full bit (memofst 10ch[1]) to 1 and the cmd data bit (memofst 10ch[3]) to 0. ? a write to port 64h will set the: input full bit (memofst 10ch[1]) to 0 and the cmd data bit (memofst 10ch[3]) to 1. hcestatus ? a read from port 64h returns the current value of the hcestatus register.
firelink usb 82C862 912-2000-030 revision 1.0 page 21 ? 4.6 general purpose pins the strap pins test0, test1, clkrun#, pme#, and smi# are multifunction pins that offer general purpose i/o (gpio) functionality. at reset time these pins are always input pins. after being sampled at reset to determine strap selections for the chip logic, these pins can be programmatically selected to be gpio signals. test0 and test1 are automatically available as gpio pins after reset is de-asserted, since they have no other assigned functions. the other pins must be specifically enabled for gpio if their primary function assignment is not needed. the pio mapping is as follows. signal pio signal mapped to test0 pio0 test1 pio1 clkrun# pio2 pme# pio3 smi# pio4 refer to pcicfg 53h, 54h, and 55h for information on selection and direction of pio pins. note that pio pins can be used along with host cpu software to generate i2c interface signaling; contact opti for details or sample code.
firelink usb 82C862 912-2000-030 revision: 1.0 page 22 ?
firelink usb 82C862 912-2000-030 page 23 revision: 1.0 ? 5.0 register descriptions the 82C862 has three types of register spaces: 1. pci configuration register space 2. host controller regist er space 3. i/o register space the subsections that follow detail the locations and access mechanisms for the registers located within these register spaces. notes: 1. all bits/registers are read/write and their default value is 0 unless otherwise specif ied. 2. all reserved bits/registers must be written to 0 unless otherwise specified. 5.1 pcicfg register space the firelink usb 82C862 part is a multi-function pci device. function 0: primary usb host controller module function 1: secondary usb host controller module. the two usb controller modules each have their own pci configuration space. the configuration space of both usb controllers are similar except for the value in the interrupt pin register (pcicfg 3dh) and the interrupt pin selection register (pcicfg 4ch), because the controllers are assigned different interrupt pins by default. the configuration space of each pci usb controller module is referred to as pcicfg. the bit formats for these registers are described in section 5.1.2. 5.1.1 programming differences from 82c861 component while the physical device part number of this chip is 82C862, the usb controller modules identify themselves as 82c861 to maintain backward software compatibility with the previous opti chip. software can differentiate between the chips by reading the revision id of 20h in pcicfg 08h (previous revisions read back 10h or lower). additional revision 20h changes that relate to the programming interface are as follows. ? the 82C862 component adds pci power management, reflected in changes in pcicfg 06h and the addition of pcicfg 34h, 4dh, and f0-f5h. ? the 82C862 part provides a way to restore the subsystem vendor id and subsystem id values in a single-step process, necessary for proper context restoration after the chip is powered down during os suspend operations. this new approach is reflected in the deletion of pcicfg 50h[3] and the addition of pcicfg 7c-7fh. ? the specific i2c pins of the 82c861 part have been replaced by general purpose i/o pins, resulting in the deletion of pcicfg 4eh. ? the irq driveback feature is no longer supported, resulting in the deletion of pcicfg 51h and 54-57h. ? changes to the chip pinout result in major changes to the pcicfg 52h bit definitions. ? pcicfg 4ch has been added to allow both usb controller modules to share a single pci interrupt. ? all bits of memofst 4bh are now read/writeable (previous chip versions allowed only bits [1:0] to be written).
firelink usb 82C862 912-2000-030 revision: 1.0 page 24 ? 5.1.2 pcicfg 00h-ffh 7 6 5 4 3 2 1 0 pcicfg 00h vendor identification register (ro) default = 45h pcicfg 01h default = 1 0h pcicfg 02h device identification register (ro) default = 61h pcicfg 03h default = c8h pcicfg 04h command register - byte 0 default = 00h wait cycle control: usb core does not need to insert a wait state between address and data on the ad lines. this bit is always 0. perr# (response) detection enable bit: 0 = perr# not asserted 1 = usb core can assert perr# if it is the receiving data agent and detects a data parity error. vga palette snooping: this bit is always 0. postable memory write command: not used when usb core is a master. this bit is always 0. special cycles: usb core does not run special cycles on pci. this bit is always 0. usb core can run pci master cycles: 0 = disable 1 = enable usb core responds as a target to memory cycles. 0 = disable 1 = e nable usb core responds as a target to i/o cycles: 0 = disable 1 = enable pcicfg 05h command register - byte 1 default = 00h reserved: these bits are always 0. back-to-back enable: usb core only acts as a master to a single device, so this functionality is not needed. this bit is always 0. serr# (response) detection enable bit: 0 = serr# not asserted 1 = usb core asserts serr# pcicfg 06h status register - byte 0 default = 90h fast back-to- back capability: usb core supports fast back-to-back transactions when they are not to same agent. this bit is always 1. reserved capabilities bit (ro): 0=no pci power management 1=pci power management available see note. reserved note: bit [4] enables extended pci capabilities. this bit =1 by default, enabling pci power management capabilities. pci power management is enabled/disabled by a strap option, which can be overridden by writing pcicfg 4dh[1]=0 to disable pci pm, or writing pcicfg 4dh[1]=1 to enable pci pm.
firelink usb 82C862 912-2000-030 revision 1.0 page 25 ? 7 6 5 4 3 2 1 0 pcicfg 07h status register - byte 1 default = 02h detected parity error: this bit is set to 1 whenever the usb core detects a parity error, even if pcicfg 04h[6] is disabled. write 1 to clear. serr# status: this bit is set to 1 whenever the usb core detects a pci address parity error. write 1 to clear. received master abort status: set to 1 when the usb core, acting as a pci master, aborts a pci bus memory cycle. write 1 to clear. received target abort status: this bit is set to 1 when a usb core generated pci cycle (usb core is the pci master) is aborted by a pci target. write 1 to clear. signaled target abort status: this bit is set to 1 when the usb core signals target abort. write 1 to clear. devsel timing (ro): indicates devsel# timing when performing a positive decode. since devsel# is asserted to meet the medium timing, these bits are encoded as 01. data parity reported: set to 1 if pcicfg 04h[6] is set and the usb core detects perr# asserted while acting as pci master (whether perr# was driven by usb core or not.) pcicfg 08h revision identification register (ro) default = 20h pcicfg 09h class code register (ro) default = 10h pcicfg 0ah default = 03h pcicfg 0bh default = 0ch pcicfg 0ch cache line size register default = 00h pcicfg 0dh master latency timer register default = 00h pcicfg 0eh header type register (ro) default = 00h pcicfg 0fh reserved default = 00h pcicfg 10h-13h base address register 0 default = 00h this register identifies the base address of a contiguous memory space in main memory. post will write all 1s to this register, then read back the value to determine how big of a memory space is requested. after allocati ng the requested memory, post will write the upper bytes with the base address. bits [31:0] correspond to: 10h = [7:0], 11h = [15:8], 12h = [23:16], 13h = [31:24]. - bit [0] - indicates that the operational registers are mapped into memory space. always = 0. - bits [2:1] - indicates that the base register is 32 bits wide and can be placed anywhere in 32-bit memory space. always = 0. - bit [3] - indicates no support for prefetchable memory. always = 0. - bits [11:4] - indicates a 4k byte address range is r equested, always = 0. - bits [31:12] - base address: post writes the value of the memory base address to this register. pcicfg 14h-2bh reserved default = 00h pcicfg 2ch subsystem vendor id register (ro) - byte 0 default = 45h the subsystem vendor id register is read-only but its value can be changed through pcicfg 7dh:7ch. pcicfg 2dh subsystem vendor id register (ro) - byte 1 default = 10h pcicfg 2eh subsystem id register (ro) byte 0 default = 61h the subsystem id register is read-only but its value can be changed through pcicfg 7fh:7eh. pcicfg 2fh subsystem id register (ro) byte 1 default = c8h pcicfg 30h-33h reserved default = 00h
firelink usb 82C862 912-2000-030 revision: 1.0 page 26 ? 7 6 5 4 3 2 1 0 pcicfg 34h capabilities pointer register ( ro) default = f0h this register provides the offset into the pci configuration space of the usb controller for the location of the pci power management register block. this location is pcicfg f0h pcicfg 35h-3bh reserved default = 00h pcicfg 3ch interrupt line register default = 00h this register identifies the system interrupt controller line to which the interrupt pin of this usb controller module is connected. the value of this register is used by device drivers and has no direct meaning to the usb core. pcicfg 3dh interrupt pin register primary default = 01h secondary default = 02h this register identifies the interrupt pin a device uses. the primary usb controller module uses inta#, so this value reads 01h by default; the secondary usb controller module uses intb#, so this value reads 02h by default. the interrupt pin used by each usb controller module can be changed via the respective pcicfg 4ch[1:0]. pcicfg 3eh minimum grant register (ro) default = 00h reserved pcicfg 3fh maximum latency register (ro) default = 00h reserved pcicfg 40h-44h reserved default = 00h these registers are for internal testing purposes. do not write to these registers. pcicfg 45h reserved default = 00h this register is for internal testing purposes. do not write to this register. reserved reserved sie pipelining 0=enable 1=disable pcicfg 46h-4bh reserved default = 00h pcicfg 4ch interrupt pin selection register function 0 default = 00 h function 1 default = 01h reserved usb controller interrupt pin: 00 = pcirq0# (inta#) 01 = pcirq1# (intb#) 10 = pcirq2# (intc#) 11 = pcirq3# (intd#) the interrupt pin selected will be reflected in pcicfg 3dh. pcicfg 4dh miscellaneo us control register default = 00h reserved state of capabilities bit: 0 = force pcicfg 06h[4] = 0 1 = force pcicfg 06h[4] = 1 reserved pcicfg 4e-4fh reserved default = 00h
firelink usb 82C862 912-2000-030 revision 1.0 page 27 ? 7 6 5 4 3 2 1 0 pcicfg 50h pci host feature control reg ister default = 00h reserved reserved, formerly clkrun# mode control reserved, formerly subsystem vendor id write enable control reserved, formerly clkrun# enable control port 2 output: 0 = enable 1 = disable (controls usb i/o cells to save power) port 1 output: 0 = enable 1 = disable (controls usb i/o cells to save power) pcicfg 51h reserved default = 00h pcicfg 52h strap option override default = 03h reserved read/write factory test mode 0=disable 1=enable test0 strap value (ro) 0 = low 1 = high test1 strap value (ro) 0 = low 1 = high pwron3# strap value ? secondary controller mode 0 = disable 1 = enable smi# strap selection 0 = pme# used as 48mhz output 1 = pme# pin functional pwrflt polarity: 0 = high 1 = low pwron polarity: 0 = high 1 = low pcicfg 53h gpio select register default = 00h pio4 direction 0=input 1=output pio3 direction 0=input 1=output pio2 direction 0=input 1=output pio1 direction 0=input 1=output pio0 direction 0=input 1=output smi# / pio4 select 0=smi# (default) 1=pio4 pme# / pio3 select 0=pme# (default) 1=pio3 clkrun# / pio2 select 0=clkrun# (default) 1=pio2 pcicfg 54h gpio output enable register default = 00h reserved pio4 buffer 0=disable 1=enable pio3 buffer 0=disable 1=enable pio2 buffer 0=disable 1=enable pio1 buffer 0=disable 1=enable pio0 buffer 0=disable 1=enable these bits control buffer driving for those gpio pins selected to be outputs. pcicfg 55h gpio data register default = 00h reserved pio4 data 0=low 1=high pio3 data 0=low 1=high pio2 data 0=low 1=high pio1 data 0=low 1=high pio0 data 0=low 1=high for input pins these bits return the value presently being driven onto the pins; for output pins these bits select the level that will be driven. pcicfg 56h-7bh reserved default = 00h pcicfg 7ch subsystem vendor id restore register - byte 0 default = 45h the register is used to program the value of the subsystem vendor id register at pcicfg 2dh:2ch. pcicfg 7dh subsystem vendor id re store register - byte 1 default = 10h pcicfg 7eh subsystem id restore register - byte 0 default = 61h the register is used to program the value of the subsystem id register at pcicfg 2fh:2eh. pcicfg 7fh subsystem id restore register - b yte 1 default = c8h pcicfg 80h - efh reserved default = 00h
firelink usb 82C862 912-2000-030 revision: 1.0 page 28 ? 7 6 5 4 3 2 1 0 pcicfg f0h cap_id register (ro) default = 01h this register returns a value of 01h to identify the capabilities list item as being the pci power management register block. pcicfg f1h next_item_ptr register (ro) default = 00h this register returns a value of 00h to indicate that there are no additional items in the capabilities list. pcicfg f2h pmc register (ro) - byte 0 default = 01h reserved device specific initialization (dsi): 0 = dsi is not required reserved pme clock: 0 = pme# clock not required to generate pme# version: 001 = this function complies with revision 1.0 of the pci powermanagement interface specification. pcicfg f3h pmc register (ro) - byte 1 default = 40h pme support: 01000 = the pci usb controller supports pme# generation from d3 hot. d2 device state support: 0 = no d1 device state support: 0 = no reserved pcicfg f4h pmcsr register - byte 0 de fault = 00h reserved powerstate (r/w): 00 = d0 01 = d1 (not supported) 10 = d2 (not supported) 11 = d3hot this field is used both to determine the current power state and to set a new power state. unsupported states will be ignored when written to. pcicfg f5h pmcsr register - byte 1 default = 00h pme status (r/w): this bit is set when a pme event is generated. write 1 to clear. data_scale (ro): 00 = data register is not supported data_select (ro): 0000 = data register is not supported pme_en (r/w): 0 = pme# assertion is disabled 1 = pme# is asserted when pme_ status = 1 pcicfg f6h - ffh reserved default = 00h
firelink usb 82C862 912-2000-030 revision 1.0 page 29 ? 5.2 host controller register space this register space is the operational control block in the usb core. it is responsible for the host controller operational states (suspend, disabled, enabled), special usb signaling (reset, resume), status, interrupt control, and host controller configuration information. the host controller (hc) interface registers are pci memory mapped i/o, hereafter referred to as memofst. the bit formats for these registers are described in table 5-2. 5.2.1 memofst 00h-5ch 7 6 5 4 3 2 1 0 memofst 00h hcrevision register (ro) default = 10h memofst 01h-03h default = 000001h bits [31:0] corresp ond to: 00h = [7:0], 01h = [15:8], 02h = [23:16], 03h = [31:24] - bits [7:0] revision - indicates the open hci specification revision number implemented by hardware (x.y = xyh). firelink support specification 1.0. - bits [31:8] reserved memofst 04h hccontrol register - byte 0 default = 00h hc functional state: 00 = usb reset 01 = usb resume 10 = usb operational 11 = usb suspend the hc may force a state change from usb suspend to usb resume after detecting resume signaling from a downstream port. processing of bulk list: 0 = disable 1 = enable processing of control list: 0 = disable 1 = enable disable isochronous list when periodic list is enabled:(1) 0 = yes 1 = no processing of periodic (interrupt and isochronous) list: 0 = disable 1 = enable the hc checks this bit prior to attempting any periodic transfers in a frame. control bulk service ratio: specifies the number of control endpoints serviced for every bulk endpoint. encoding is ne1 where n is the number of control endpoints (i.e., 00 = 1 control endpoint; 11 = 4 control endpoints). (1) disabling the isochronous list when the periodic list is enabled allows interrupt endpoint descriptors to be serviced. while processing the period list, the hc will check bit 3 when it finds an isochronous endpoint descriptor. memofst 05h hccontrol register - byte 1 default = 00h reserved remote wakeup connected enable: if a remote wakeup signal is supported, this bit is used to enable that operation. since there is no remote wakeup signal supported, this bit is ignored. remote wakeup connected (ro): indicates whether the hc supports a remote wakeup signal. this implementation does not support any such signal. the bit is hardcoded to 0. interrupt routing: 0 = interrupts routed to normal interrupt mechanism (inta#) 1 = interrupts routed to smi memofst 06h-07h hccontrol register - bytes 2 & 3 default = 00h reserved
firelink usb 82C862 912-2000-030 revision: 1.0 page 30 ? 7 6 5 4 3 2 1 0 memofst 08h hccommandstatus register - byte 0 default = 00h reserved ownership change request: when set by software, this bit sets the ownership change bit (memofst 0fh[6]). cleared by software. bulk list has an active endpoint descriptor?(1) 0 = no 1 = yes control list has an active endpoint descriptor?(1) 0 = no 1 = yes hc reset: writing a 1 initiates a software reset. this bit is cleared by the hc upon completion of reset operation. (1) the bit may be set by either software or the hc. it is cleared by the hc each time it begins processing the head of the list (bulk list for bit 2, control list for bit 1) memofst 09h hccommandstatus register - byte 1 default = 00h reserved memofst 0ah hccommandstatus register - byte 2 default = 00h reserved schedule overrun count: this field increments every time the scheduling overrun bit (memofst 0ch[0] is set. the count wraps from 11 to 00. memofst 0bh hccommandstatus register - byte 3 default = 00h reserved memofst 0ch hcinterrupt status register - byte 0* default = 00h reserved root hub status change: this bit is set when the content of hcrh status (50h- 53h) or the content of any hcrhport status register (54h-5bh) has changed. frame number overflow: this bit is set when memofst 3ch[15] (frame number register) changes from 0-to-1 or from 1-to-0. unrecoverable error: this event is not implemented and is hardcoded to 0. all writes are ignored. resume detected: this bit is set when the hc detects resume signaling on a downstream port. start of frame: this bit is set when the frame management block signals a "start of frame" event. writeback done head: this bit is set after the host controller has written hcdonehead to hccadonehead . scheduling overrun occurred? 0 = no 1 = yes memofst 0dh-0eh hcinterruptstatus register - bytes 1 & 2 default = 00h reserved memofst 0fh hcinterruptstatus register - byte 3* default = 00h reserved ownership change: this bit is set when the ownership change request bit (memofst 08h[3]) is set. reserved * writing a 1 to a bit in this register clears the corresponding bit, while writing a 0 leaves the bit unchanged.
firelink usb 82C862 912-2000-030 revision 1.0 page 31 ? 7 6 5 4 3 2 1 0 memofst 10h hcinterruptenable register - byte 0* default = 00h reserved allow interrupt generation due to root hub status change: 0 = ignore 1 = enable allow interrupt generation due to frame number overflow: 0 = ignore 1 = enable reserved all writes to this bit are ignored. allow interrupt generation due to resume detected: 0 = ignore 1 = enable allow interrupt generation due to start of frame: 0 = ignore 1 = enable allow interrupt generation due to writeback done head: 0 = ignore 1 = enable allow interrupt generation due to scheduling overrun: 0 = ignore 1 = enable memofst 11h-12h hcinterruptenable register - bytes 1 & 2 default = 00h reserved memofst 13h hcinterruptenable register - byte 3* default = 00h master interrupt generation: 0 = ignore 1 = allows all interrupts to be enabled in 10h-13h. allow interrupt generation due to ownership change: 0 = ignore 1 = enable reserved * writing a 1 to a bit in this register sets the corresponding bit, while writing a 0 leaves the bit unchanged. memofst 14h hcinterruptdisable register - byte 0* default = 00h reserved allow interrupt generation due to root hub status change: 0 = ignore 1 = disable allow interrupt generation due to frame number overflow: 0 = ignore 1 = disable reserved all writes to this bit are ignored. allow interrupt generation due to resume detected: 0 = ignore 1 = disable allow interrupt generation due to start of frame: 0 = ignore 1 = disable allow interrupt generation due to writeback done head: 0 = ignore 1 = disable allow interrupt generation due to scheduling overrun: 0 = ignore 1 = disable memofst 15h-16h hcinterruptdisable register - bytes 1 & 2 default = 00h reserved memofst 17h hcinterruptdisable register - byte 3* default = 00h master interrupt generation: 0 = ignore 1 = allows all interrupts to be disabled in 10h-13h. allow interrupt generation due to ownership change: 0 = ignore 1 = disable reserved * writing a 1 to a bit in this register clears the corresponding bit, while writing a 0 leaves the bit unchanged. memofst 18h-1bh hchcca register default = 00h bits [31:0] correspond to: 18h = [7:0], 19h = [15:8] , 1ah = [23:16], 1bh = [31:24]. - bits [7:0] reserved - bits [31:8] pointer to hcca base address memofst 1ch-1fh hcperiodcurrented register default = 00h bits [31:0] correspond to: 1ch = [7:0], 1dh = [15:8], 1eh = [23:16], 1fh = [31:24]. - bits [3:0] reserved - bits [31:4] pointer to current periodic list end descriptor
firelink usb 82C862 912-2000-030 revision: 1.0 page 32 ? 7 6 5 4 3 2 1 0 memofst 20h-23h hccontrolheaded register default = 00h bits [31:0] correspond to: 20h = [7:0], 21h = [15:8], 22h = [23:16], 23h = [31:24]. - bits [3:0] reserved - bits [31:4] pointer to current control list head end descriptor memofst 24h-27h hccontrolcurrent ed default = 00h bits [31:0] correspond to: 24h = [7:0], 25h = [15:8], 26h = [23:16], 27h = [31:24]. - bits [3:0] reserved - bits [31:4] pointer to curre nt end descriptor in control list memofst 28h-2bh hcbulkheaded register default = 00h bits [31:0] correspond to: 28h = [7:0], 29h = [15:8], 2ah = [23:16], 2bh = [31:24]. - bits [3:0] reserved - bits [31:4] pointer to current bulk list head end d escriptor in control list memofst 2ch-2fh hcbulkcurrented register default = 00h bits [31:0] correspond to: 2ch = [7:0], 2dh = [15:8], 2eh = [23:16], 2fh = [31:24]. - bits [3:0] reserved - bits [31:4] pointer to current bulk list end descriptor memofst 30h-33h hcdonehead register default = 00h bits [31:0] correspond to: 30h = [7:0], 31h = [15:8], 32h = [23:16], 33h = [31:24]. - bits [3:0] reserved - bits [31:4] pointer to current done list head end descriptor memofst 34h-37h hcfminterval register default = 2edfh bits [31:0] correspond to: 34h = [7:0], 35h = [15:8], 36h = [23:16], 37h = [31:24]. - bits [13:0] frame interval - these bits specify the length of a frame as (bit times e 1). for 12,000 bit times in a frame, a value of 11,999 is stored here. (default = 2edfh) - bits [15:14] reserved - bits [30:16] fs largest data packet: these bits specify a value which is loaded into the largest data packet counter at the beginning of each frame. - bit 31 frame interval toggle - this bit is toggled by hcd whenever it loads a new value into the frame interval bits (bits [13:0]). memofst 38h-3bh hcframeremaining register default = 00h bits [31:0] correspond to: 38h = [7:0], 39h = [15:8], 3ah = [23:16], 3bh = [31:24]. - bits [ 13:0] frame remaining (ro) - this 14-bit decrementing counter is used to time a frame. when the hc is in the usb operational state, the counter decrements each 12mhz clock period. when the count reaches 0, the end of a frame has been reached. the counter reloads with frame interval (memofst 34h[13:0]) at that time. in addition, the counter loads when the hc transitions into the usb operational state. - bits [30:14] reserved - bit 31 frame remaining toggle (ro) - this bit is loaded with frame interval toggle (memofst 34h[31]) when frame remaining (bits [13:0]) is loaded. memofst 3ch-3fh hcfmnumber register default = 00h bits [31:0] correspond to: 3ch = [7:0], 3dh = [15:8], 3eh = [23:16], 3fh = [31:24]. - bits [15:0] frame number (ro) - this 16-bit incrementing counter is incremented coincident with the load of frame remaining (memofst 38h[13:0]). the count will roll over from fffh to 0h. - bits [31:16] reserved
firelink usb 82C862 912-2000-030 revision 1.0 page 33 ? 7 6 5 4 3 2 1 0 memofst 40h-43h hcperiodicstart register default = 00h bits [31:0] correspond to: 40h = [7:0], 41h = [15:8], 42h = [23:16], 43h = [31:24]. - bits [13:0] periodic start - these bits are used by the list processor to determine where in a frame the periodic list processing must begin. - bits [31:14] reserved memofst 44h-47h hclsthreshold register default = 00h bits [31:0] correspond to: 44h = [7:0], 45h = [15:8], 46h = [23:16], 47h = [31:24]. - bits [11:0] ls threshold - these bits contain a value used by the frame management block to determine whether or n ot a low speed transaction can be started in the current frame. - bits [31:12] reserved memofst 48h hcrhdescriptora register - byte 0 (ro) default = 02h number downstream ports - the usb core supports two downstream ports. memofst 49h h crhdescriptora register - byte 1 default = 00h reserved no over- current protection:(1) 0 = over- current status is reported 1 = over- current status is not reported over-current protection mode: 0 = global over- current 1 = individual over- current this bit is only valid when bit 4 is cleared. this bit should be written to 0. device type (ro): the usb core is not a compound device. no power switching:(1) 0 = ports are powered switched 1 = ports are always powered on power switching mode: 0 = global switching 1 = individual switching this bit is only valid when bit 1 is cleared. this bit should be written to 0. (1) bits 4 and 1 should be written to support the external system port over-current and switching implementations. memofst 4ah hcrhde scriptora register - byte 2 default = 00h reserved memofst 4bh hcrhdescriptora register - byte 3 default = 01h power-on to power-good time - the usb core power switching is effective within 2ms. the field value is represented as the number of 2ms intervals. this field should be written to support the system implementation. this field should always be written to a non-zero value. memofst 4ch-4dh hcrhdescriptorb register - bytes 0 & 1 default = 00h bits [15:0] correspond to: 4ch = [7:0], 4 dh = [15:8]. - bit 0 reserved - bits [15:1] device removable - usb core ports default to removable devices: 0 = device not removable 1 = device removable bit 15 corresponds to port 15, bit 14 corresponds to port 14, the remaining bits follow suit. unimplemented ports are reserved.
firelink usb 82C862 912-2000-030 revision: 1.0 page 34 ? 7 6 5 4 3 2 1 0 memofst 4eh-4fh hcrhdescriptorb register- bytes 2 & 3 default = 00h bits [15:0] correspond to: 4eh = [7:0], 4fh = [15:8]. - bit 0 reserved - bits [15:1] port power control mask: bit 15 corresponds to port 15, bit 14 corresponds to port 14, the remaining bits follow suit. unimplemented ports are reserved. 0 = device not removable 1 = global power mask this field is only valid if no power switching bit (memofst 49h[1]) is cleared and power switching mo de bit (memofst 49h[0]) is set (individual port switching). when set, the port only responds to individual port power switching commands (set/ clearportpower, memofst 54h[1:0] and 58h[1:0]). when cleared, the port only responds to global power switching commands (set/ clearglobalpower, memofst 52h[0] and 50h[0]). memofst 50h hcrhstatus register - byte 0 default = 00h reserved over-current indicator (ro):(1) reflects state of ovcr pin. 0 = no over- current condition 1 = over- current condition read: local power status not supported. always read 0. write: clear global power 0 = no effect 1 = issue clear global power command to ports (1) bit 1 is only valid if the no over-current protection (memofst 49h[4]) and over-current protection mode ( memofst 49h[3]) bits are cleared. memofst 51h hcrhstatus register - byte 1 default = 00h read: device remote wake- up enable(1) 0 = disabled 1 = enabled write : set remote wake- up enable 0 = no effect 1 = sets device remote wakeup enable reserved (1) allows port connect status change bit (memofst 56h[0] for port 1 and memofst 59h[0] for port 2) as a remote wakeup event.
firelink usb 82C862 912-2000-030 revision 1.0 page 35 ? 7 6 5 4 3 2 1 0 memofst 52h hcrhstatus register - byte 2 default = 00h reserved over-current indicator change this bit is set when the over- current indicator bit (memofst 50h[1]) changes. write 1 to clear read : local power status change not supported. always read 0 write: set global power 0 = no effect 1 = issue set global power command to ports memofst 53h hcrhstatus register - byte 3 default = 00h clear remote wakeup enable (wo) 0 = no effect 1 = clear device remote wakeup enable bit (memofst 51h[7]) reserved memofst 54h hcrhport1status register - byte 0 default = 00h reserved read: port reset status 0 = port reset status signal not active 1 = port reset signal active write: set port reset 0 = no effect 1 = sets port reset status read: port over-current indicator(1) 0 = no over- current condition 1 = over- current condition write: clear port suspend 0 = no effect 1 = initiates selective resume sequence for the port read: port suspend status 0 = port is not suspended 1 = port is selectively suspended write: set port suspend 0 = no effect 1 = sets port suspend status read: port enable status 0 = port disabled 1 = port enabled write: set port enable 0 = no effect 1 = sets port enable status read: current connect status 0 = no device connected 1 = device connected.( 2) write: clear port enable 0 = no effect 1 = clears port enable status bit (bit 1) (1) the usb core supports global over-current reporting. this bit reflects the state of the ovrcur pin dedicated to this port. this bit is only valid if the no over-current protection (memofst 49h[4]) bit is cleared and over-current protection mode (memofst 49h[3]) bit is set. (2) if the device removable bits (memofst 4ch[15:0]) are set (not removable), bit 0 is always 1.
firelink usb 82C862 912-2000-030 revision: 1.0 page 36 ? 7 6 5 4 3 2 1 0 memofst 55h hcrhport1status register - byte 1 default = 00h reserved read: low speed device attached(1) 0 = full speed device 1 = low speed device write: clear port power 0 = no effect 1 = clears port power status (bit 0) read: port power status(2) 0 = port power is off 1 = port power is on write: set port power 0 = no effect 1 = sets port power status (1) bit 1 defines the speed (and bus idle) of the attached device. it is only valid when current connect status (memofst 54h[0]) bit is set. (2) bit 0 reflects the power state of the port regardless of the power switching mode. if the no power switching (memofst 49h[1]) bit is set, bit 0 is always read as 1. memofst 56h hcrhport1status register - byte 2 default = 00h reserved port reset status change 0 = port reset is not complete 1 = port reset is complete port over- current indicator change this bit is set when the over- current indicator (memofst 50h[1]) bit changes. write 1 to clear port suspend status change indicates the completion of the selective resume sequence for the port. 0 = port is not resumed 1 = port resume is complete port enable status change indicates that the port has been disabled due to a hardware event (cleared port enable status, memofst 54h[1]). 0 = port has not been disabled 1 = port enable status has been cleared connect status change indicates a connect or disconnect event has been detected. 0 = no connect/dis connect event 1 = hardware detection of connect/dis connect event(1) write 1 to clear (1) if the device removable bits (memofst 4ch[15:1]) are set, bit 0 resets to 1. memofst 57h hcrhport1status register - byte 3 default = 00h reserved
firelink usb 82C862 912-2000-030 revision 1.0 page 37 ? 7 6 5 4 3 2 1 0 memofst 58h hcrhport2status register - byte 0 default = 00h reserved read: port reset status 0 = port reset status signal not active 1 = port reset signal active write: set port reset 0 = no effect 1 = sets port reset status read: port over-current indicator(1) 0 = no over- current condition 1 = over- current condition write: clear port suspend 0 = no effect 1 = initiates selective resume sequence for the port read: port suspend status 0 = port is not suspended 1 = port is selectively suspended write: set port suspend 0 = no effect 1 = sets port suspend status read: port enable status 0 = port disabled 1 = port enabled write: set port enable 0 = no effect 1 = sets port enable status read: current connect status 0 = no device connected 1 = device connected.( 2) write: clear port enable 0 = no effect 1 = clears port enable status bit (bit 1) (1) the usb core supports global over-current reporting. th is bit reflects the state of the ovrcur pin dedicated to this port. this bit is only valid if the no over-current protection (memofst 49h[4]) bit is cleared and over-current protection mode (memofst 49h[3]) bit is set. (2) if the device removable bits (me mofst 4ch[15:0]) are set (not removable), bit 0 is always 1. memofst 59h hcrhport2status register - byte 1 default = 00h reserved read: low speed device attached(1) 0 = full speed device 1 = low speed device write: clear port power 0 = no effect 1 = clears port power status (bit 0) read: port power status(2) 0 = port power is off 1 = port power is on write: set port power 0 = no effect 1 = sets port power status (1) bit 1 defines the speed (and bus idle) of the attached device. it is only valid when current connect status (memofst 54h[0]) bit is set. (2) bit 0 reflects the power state of the port regardless of the power switching mode. if the no power switching (memofst 49h[1]) bit is set, bit 0 is always read as 1.
firelink usb 82C862 912-2000-030 revision: 1.0 page 38 ? 7 6 5 4 3 2 1 0 memofst 5ah hcrhport2status register - byte 2 default = 00h reserved port reset status change 0 = port reset is not complete 1 = port reset is complete port over- current indicator change this bit is set when the over- current indicator (memofst 50h[1]) bit changes. write 1 to clear port suspend status change indicates the completion of the selective resume sequence for the port. 0 = port is not resumed 1 = port resume is complete port enable status change indicates that the port has been disabled due to a hardware event (cleared port enable status, memofst 54h[1]). 0 = port has not been disabled 1 = port enable status has been cleared connect status change indicates a connect or disconnect event has been detected. 0 = no connect/dis connect event 1 = hardware detection of connect/dis connect event(1) write 1 to clear (1) if the device removable bits (memofst 4ch[15:1]) are set, bit 0 resets to 1. memofst 5bh hcrhport2 status register - byte 3 default = 00h reserved
firelink usb 82C862 912-2000-030 revision 1.0 page 39 ? 5.2.2 legacy support registers four registers are provided for legacy support: 1. hcecontrol - - used to enable and control the emulation hardware and report various status information. 2. hceinput - - emulation side of the legacy input buffer register. 3. hceoutput - - emulation side of the legacy output buffer register where keyboard and mouse data is to be written by software. 4. hcestatus - - emulation side of the legacy status register. these registers are located in the host controller register space ; from memofst 100h through 10fh. the bit formats for these registers are described in table 5-3. refer to "legacy support" section for information when accessing these registers when emulation is enabled. 5.2.3 memofst 100h-1fh (legacy support registers) 7 6 5 4 3 2 1 0 memofst 100h hcecontrol register - byte 0 default = 00h irq12 active indicates that a positive transition of irq12 from kybrd controller has occurred. writing a 1 clears this bit, while writing a 0 leaves it unchanged. irq1 active indicates that a positive transition of irq1 from kybrd controller has occurred. writing a 1 clears this bit, while writing a 0 leaves it unchanged. gatea20 sequence set by hc when a data value of d1h is written to port 64h. cleared by hc on write to port 64h of any value other than d1h. external irqen irq1 and irq12 from kybrd controller causes emulation interrupt: 0 = disable 1 = enable this bit is independent of the emulation enable bit (bit 0) setting. irqen if the output full bit (memofst 10ch[0]) = 1, hc generates irq1 or irq12. if the aux output full bit (memofst 10ch[5]) = 0, hc generates irq1; if = 1, hc generates irq12. 0 = disable 1 = enable character pending hc generates emulation interrupt when the output full bit (memofst 10ch[0]) = 0. 0 = disable 1 = enable emulation interrupt (ro) a static decode of the emulation interrupt condition. emulation enable hc is enabled for legacy emulation? 0 = no 1 = yes(1) (1) the hc decodes accesses to ports 60h/64h and generates irq1 and/or irq12 when appropriate. additionally, the hc generates an emulation interrupt at appropriate times to invoke the emulation software. memofst 101h hcecontrol register - byte 1 default = 00h reserved a20 state: indicates current state of gate a20 on kybrd controller. used to compare against value written to port 60h when gatea20 sequence is active. memofst 102h-103h hcecontrol register - bytes 2 & 3 default = 00h
firelink usb 82C862 912-2000-030 revision: 1.0 page 40 ? 7 6 5 4 3 2 1 0 reserved memofst 104h hceinput register - bytes 0 default = 00h input data: - i/o data that is writte n to ports 60h and 64h is captured in this register. note: refer to table 4-4, "emulated registers and side effects", if emulation is enabled. memofst 105h-107h hceinput register - bytes 1-3 default = 00h reserved memofst 108h hceoutput register - bytes 0 default = 00h output data: - this register hosts data that is returned when an i/o read of port 60h is performed by application software. note: refer to table 4-4, "emulated registers and side effects", if emulation is enabled.) memofst 109h-10bh hceoutput register - bytes 1-3 default = 00h reserved memofst 10ch hcestatus register - byte 0 default = 00h parity indicates parity error on keyboard/mous e data. time-out used to indicate a time-out aux output full assert irq12 if output full bit (memofst 10ch[0]) = 1 and irqen bit (memofst 100h[3]) = 1? 0 = no 1 = yes inhibit switch reflects state of the keyboard inhibit switch: 0 = inhibited 1 = not inhibited cmd data hc sets this bit on i/o writes to ports 60h and 64h: 0 = port 60h 1 = port 64h flag nominally used as a system flag by software to indicate a warm or cold boot. input full hc sets this bit to 1 on an i/o write to port 60h or 64h except for the case of a gatea20 sequence. while set to 1 and emulation is enabled (memofst 100h[0] = 1), an emulation interrupt condition exists. output full hc sets this bit to 0 on a read of port 60h. while this bit is 0 and the character pending bit (memofst 100h[2]) = 1, an emulation interrupt condition exists. setting this bit to 1 will generate either irq1 or irq12 under certain conditions(1). (1) if the irqen bit (memofst 100h[3]) = 1 and aux output full bit (memofst 10ch[5]) = 0: irq1 is generated. if the irqen bit (memofst 100h[3]) = 1 and aux output full bit (memofst 10ch[5]) = 1: irq12 is generated. note: refer to table 4-4, "emulated registers and side effects", on page 18 if emulation is enabled. memofst 10dh-10fh hcestatus register - bytes 1-3 default = 00h reserved
firelink usb 82C862 912-2000-030 page 41 revision: 1.0 ? 6.0 electrical ratings stresses above those listed in the following tables may cause permanent damage to the device. these are stress ratings only and functional operation of the device at these or any other conditions above those indicated in the operational sections of this specification are not implied. 6.1 absolute maximum ratings symbol parameter 5.0 volt 3.3 volt unit min max min max vcc supply voltage not allowed not allowed +4.0 v vi input voltage ?0.5 vcc + 0.5 ?0.5 vcc + 0.5 v vo output voltage ?0.5 vcc + 0.5 ?0.5 vcc + 0.5 v top operating temperature 0 +70 0 +70 degrees c tstg storage temperature ?40 +125 ?40 +125 degrees c 6.2 dc characteristics: vcc = 3.3v 5%, ta = 0c to +70c symbol parameter min max unit condition vil input low voltage ?0.5 +0.8 v vih input high voltage +2.0 +5.5 v vol output low voltage +0.4 v iol = 4.0ma voh output high voltage +2.4 v ioh = ?1.6ma iil input leakage current +10.0 a vin = vcc ioz tristate leakage current +10.0 a cin input capacitance +10.0 pf cout output capacitance +10.0 pf icc power supply current: 3.3v core predicted : 100ma max during operation, 1ma max during standby (all clocks stopped)
firelink usb 82C862 912-2000-030 revision: 1.0 page 42 ? 6.3 ac characteristics (preliminary) 6.3.1 pci bus ac timings sym parameter min max unit figure t100 c/be[3:0]#, ad[31:0], frame#, irdy#, trdy#, stop#, devsel#, lock#, par, serr#, perr# setup time to pciclk rising 7 ns 6-1 t101 c/be[3:0]#, ad[31:0], frame#, irdy#, trdy#, stop#, devsel#, lock#, par, serr#, perr# hold time from pciclk rising 0 ns 6-2 t102 c/be[3:0]#, ad[31:0], frame#, irdy#, trdy#, stop#, devsel#, lock#, par, serr#, perr# valid delay from pciclk rising 2 11 ns 6-3 t103 req# setup time to pciclk rising 12 ns 6-1 t104 req# hold time from pciclk rising 0 ns 6-2 t105 gnt# valid delay from pciclk rising 2 12 ns 6-3 figure 6-1 setup timing waveform figure 6-2 hold timing waveform figure 6-3 output delay timing waveform 0ns 50ns 100ns t100, t103 pciclk signal t101, t104 0ns 50ns 100ns pciclk signal 0ns 50ns 100ns pciclk signal t102, t105
firelink usb 82C862 912-2000-030 revision 1.0 page 43 ? 6.3.2 usb ac timings: full speed source sym parameter min max unit figure condition (notes 1, 2, and 3) driver characteristics tr tf transition time: rise time fall time 4 4 20 20 ns ns cl = 50pf, notes 5 and 6 trfm rise/fall time matching 90 110 % (tr/tf) vcrs output signal crossover voltage 1.3 2.0 v zdrv driver output resistance 28 43 ohm steady state drive data source timings tdrate full speed data rate 11.97 12.03 mb/s average bit rate = 12mb/s 0.25% tframe frame interval 0.9995 1.0005 ms 1.0ms 0.05% tdj1 tdj2 source differential driver jitter: to next transition for paired transitions ?3.5 ?4.0 3.5 4.0 ns ns notes 7 and 8 teopt source eop width 160 175 ns note 8 tdeop differential to eop transition skew ?2 5 ns note 8 tjr1 tjr2 receiver data jitter tolerance: to next transition for paired transitions ?18.5 ?9 18.5 9 ns ns note 8 teopr1 teopr2 eop width at receiver: must reject at eop must accept as eop 40 82 ns ns note 8
firelink usb 82C862 912-2000-030 revision: 1.0 page 44 ? 6.3.3 usb ac timings: low speed source sym parameter min max unit figure condition (notes 1, 2, and 4) driver characteristics tr tf transition time: rise time fall time 75 75 300 300 ns ns notes 5 and 6 min# measured with: cl = 50pf max# measured with: cl = 350pf trfm rise/fall time matching 80 120 % (tr/tf) vcrs output signal crossover voltage 1.3 2.0 v data source timings tdrate low speed data rate 1.4775 1.5225 mb/s average bit rate = 1.5mb/s 1.5% tddj1 tddj2 source differential driver jitter, at host (downstream): to next transition for paired transitions ?75 ?45 75 45 ns ns notes 7 and 8 tudj1 tudj2 source differential driver jitter, at function (upstream): to next transition for paired transitions ?95 ?150 95 150 ns ns notes 7 and 8 teopt source eop width 1.25 150 s 6-5 note 8 tdeop differential to eop transition skew ?40 100 ns 6-5 note 8 tujr1 tujr2 receiver data jitter tolerance, at host (upstream): to next transition for paired transitions ?152 ?200 152 200 ns ns 6-6 tdjr1 tdjr2 receiver data jitter tolerance, at function (downstream): to next transition for paired transitions ?75 ?45 75 45 ns ns 6-6 teopr1 teopr2 eop width at receiver: must reject at eop must accept as eop 330 675 ns ns 6-6 note 8 notes: 1. all voltages measured from the local ground potential, unless otherwise specified. 2. all timings use a capacitive load (cl) to ground of 50pf, unless otherwise specified. 3. full speed timings have a 1 .5 kohm pull-up to 2.8v on the d+ data line. 4. low speed timings have a 1 .5 kohm pull-up to 2.8v on the d? line. 5. measured from 10% to 90% of the data signal. 6. t he rising and falling edges should be smoothly transitioning (monotonic). 7. timing difference between the differential data signals. 8. measured at crossover point of differential data signals. 9. the maximum load specification is the maximum effective capacitive load allowed that meets the target hub vbus droop of 330mv.
firelink usb 82C862 912-2000-030 revision 1.0 page 45 ? figure 6-4 differential data jitter figure 6-5 differential to eop transition skew and eop width figure 6-6 receiver jitter tolerance tperiod differential data lines consecutive transitions n * tperiod + txjr1 paired transitions n * tperiod + txjr2 crossover points tperiod differential data lines differential data to se0 skew n * tperiod + tdeop crossover point crossover point extended source eop width: teopt source eop width: teop1, teop2 tperiod differential data lines consecutive transitions n * tperiod + tjr1 tjr tjr1 tjr2 paired transitions n * tperiod + tjr2
firelink usb 82C862 912-2000-030 revision: 1.0 page 46 ? 7.0 mechanical package outlines figure 3. 100-pin low-profile quad flat pack (lqfp)
firelink usb 82C862 912-2000-030 revision 1.0 page 47 ? 8.0 nand tree test mode the nand tree mode tests both input and bi-directional pins that are part of the nand tree chain. the nand tree chain starts at pin 21 (test0) while the output of the chain is at pin 4 (ad0). to enable the nand tree test mode, strap firelink 2.0 by pulling up the following pins during the rising edge of reset#: pin 25 (test1) and pin 21 (test0). for reliable strapping, toggle pciclk at least two times after reset# goes low, and at least two times after reset# goes high. after that strapping sequence, set both reset# and pciclk high. do not toggle reset# and pciclk during the nand tree test. once in nand tree mode, all pins together form the inputs to a nand gate, with ad0 becoming the output of the nand gate.


▲Up To Search▲   

 
Price & Availability of 82C862

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X